package global

import (
	"bytes"
	"io"

	"golang.org/x/text/encoding/simplifiedchinese"
	"golang.org/x/text/transform"
)

type User struct {
	WxID      string `json:"wx_id"`
	WxAccount string `json:"wx_account"`
	NickName  string `json:"nick_name"`
	AvatarURL string `json:"avatar_url"`
	Nation    string `json:"nation"`
	Province  string `json:"province"`
	City      string `json:"city"`
	Mobile    string `json:"mobile"`
	// 性别
	// - 0 未设置
	// - 1 男
	// - 2 女
	Gender uint `json:"gender"`
	// 登录设备
	Device string `json:"device"`
	// 缓存目录
	CacheDir string `json:"cache_dir"`
}

var CurrentUser User

func GbkToUtf8(data []byte) (string, error) {
	reader := transform.NewReader(
		bytes.NewReader(data),
		simplifiedchinese.GBK.NewDecoder(),
	)

	utf8Data, err := io.ReadAll(reader)
	if err != nil {
		return "", err
	}

	return string(utf8Data), nil
}
